/** * @license * Copyright (c) 2014, 2018, Oracle and/or its affiliates. * The Universal Permissive License (UPL), Version 1.0 */ "use strict";define(["ojs/ojcore","require","promise","customElements"],function(e,t){e.BaseCustomElementBridge={},e.BaseCustomElementBridge.proto={getClass:function(t){var r=Object.create(HTMLElement.prototype);this.InitializePrototype(r);var n=this.GetMetadata(t);e.BaseCustomElementBridge._enumerateMetadataForKey(r,n,"properties",this.DefinePropertyCallback.bind(this)),e.BaseCustomElementBridge._enumerateMetadataForKey(r,n,"methods",this.DefineMethodCallback.bind(this)),this.AddComponentMethods(r),r.setProperties=function(t){e.BaseCustomElementBridge.getInstance(this)._setProperties(this,t)},Object.defineProperty(r,"set",{value:function(e,t){this.setProperty(e,t)}}),Object.defineProperty(r,"unset",{value:function(e){this.setProperty(e,void 0)}}),r.attributeChangedCallback=this._attributeChangedCallback,r.connectedCallback=this._connectedCallback,r.disconnectedCallback=this._detachedCallback,Object.defineProperty(r,"resolveBP",{value:function(t){e.BaseCustomElementBridge.getInstance(this)._resolveBindingProvider(t)}});var i=function(){var e=window.Reflect;return void 0!==e?e.construct(HTMLElement,[],this.constructor):HTMLElement.call(this)},o=this;return Object.defineProperty(i,"observedAttributes",{get:function(){return o.GetAttributes(n)}}),Object.defineProperty(r,"constructor",{value:i,writable:!0,configurable:!0}),i.prototype=r,Object.setPrototypeOf(i,HTMLElement),i},resolveDelayedReadyPromise:function(e){this.GetDelayedReadyPromise().resolvePromise()},AddComponentMethods:function(e){},CreateComponent:function(e){},DefineMethodCallback:function(e,t,r){},DefinePropertyCallback:function(e,t,r){},GetDelayedReadyPromise:function(){return this._delayedReady||(this._delayedReady=new e.BaseCustomElementBridge.__DelayedPromise),this._delayedReady},GetAttributes:function(t){return e.BaseCustomElementBridge.getAttributes(t.properties)},GetMetadata:function(t){return t[e.BaseCustomElementBridge.DESC_KEY_META]},GetAliasForProperty:function(e){return e},GetDefaultValue:function(t){return e.BaseCustomElementBridge._consolidateDefaults(t)},HandleAttributeChanged:function(e,t,r,n){},HandleBindingsApplied:function(e,t){},HandleDetached:function(e){this._bConnected=!1,this._complete||this._resolveBusyState(e)},HandleReattached:function(e){},InitializeElement:function(e){},InitializePrototype:function(e){},BatchedPropertySet:function(e,t){for(var r=Object.keys(t),n=0;n=0?r.push(a):(n[a]=t[a],i=!0)}i&&this.BatchedPropertySet(e,n);for(var l=0;l1)for(n.pop();n.length;){var i=n.join(".");if(t.hasAttribute(i))e.BaseCustomElementBridge.getInstance(t)._throwError(t,"Cannot set overlapping attributes '"+r+"' and '"+i+"'.");n.pop()}},e.BaseCustomElementBridge.__GetPropertyMetadata=function(e,t){for(var r=t,n=e.split("."),i=0;i1&&i1&&!t[a]&&(o=i={});for(var l=0;l0?i:void 0}},e.BaseCustomElementBridge._registry={},e.BaseCustomElementBridge.DESC_KEY_CSS="css",e.BaseCustomElementBridge.DESC_KEY_META="metadata",e.BaseCustomElementBridge.DESC_KEY_PARSE_FUN="parseFunction",e.BaseCustomElementBridge.DESC_KEY_VIEW="view",e.BaseCustomElementBridge.DESC_KEY_VIEW_MODEL="viewModel",e.BaseCustomElementBridge._GLOBAL_PROPERTIES=["accesskey","class","contenteditable","contextmenu","dir","draggable","hidden","id","is","lang","style","tabindex","title"],e.BaseCustomElementBridge._INSTANCE_KEY="_ojBridge",e.BaseCustomElementBridge.__DelayedPromise=function(){var e,t,r;this.getPromise=function(){return e||(e=new Promise(function(e,n){t=e,r=n})),e},this.rejectPromise=function(e){r&&r(e)},this.resolvePromise=function(e){t&&t(e)}}});